import request from "@/utils/request";

const Order_BASE_URL = "/admin/order/list";
const Order_UPDATE_URL = "/admin/order/send";
const Order_CLOSE_URL = "/admin/order/close";
const Order_excel_URL = "/admin/order/export";
const Order_odd_URL = "/admin/order/odd";
const Order_COMPLETE_URL = "/admin/order/complete";

const OrderAPI = {
  /**
   * 获取列表
   *
   * @returns 树形表格数据
   */
  getOrderList(queryParams?: OrderQuery) {
    return request<any, OrderVO[]>({
      url: `${Order_BASE_URL}?page=${queryParams?.pageNum || 1}&limit=${queryParams?.pageSize || 10}
      &goodsName=${queryParams?.goodsName || ""}&orderState=${queryParams?.status || ""}
      &orderNum=${queryParams?.keywords || ""}&inviteCode=${queryParams?.inviteCode || ""}`,
      method: "get",
    });
  },

  /**
   * 修改
   *
   * @param id ID
   * @param data 表单数据
   * @returns 请求结果
   */
  update(data: OrderForm) {
    return request({
      url: `${Order_UPDATE_URL}`,
      method: "post",
      data,
    });
  },

  Order_odd_URL: (data: any) => {
    return request({
      url: `${Order_odd_URL}`,
      method: "post",
      data,
    });
  },

  /**
   * 关闭订单
   *
   * @param id ID
   * @returns 请求结果
   */
  closeOrder(data: any) {
    return request({
      url: `${Order_CLOSE_URL}`,
      method: "post",
      data,
    });
  },

  export_excel() {
    return request<any, any>({
      url: `${Order_excel_URL}`,
      method: "get",
    });
  },

  Order_COMPLETE_URL: (data: any) => {
    return request({
      url: `${Order_COMPLETE_URL}`,
      method: "post",
      data,
    });
  },
};

export default OrderAPI;

/** 查询参数 */
export interface OrderQuery {
  /** 搜索关键字 */
  keywords?: string;
  /** 页码 */
  pageNum?: number;
  /** 每页数量 */
  pageSize?: number;
  /** 订单状态 */
  status?: string;
  /** 订单号 */
  orderNum?: string;
  /** 用户ID/邀请码 */
  inviteCode?: string;
  /** 商品名称 */
  goodsName?: string;
}

/** 列表 */
export interface OrderVO {
  /** 创建时间 */
  createTime?: string;
  /** ID */
  id?: string;
  /** 订单号 */
  order_no?: string;
  /** 账号 */
  account?: string;
  /** 头像 */
  avatar?: string;
  /** 排序 */
  sort?: number;
  /** user_id */
  user_id?: number;
  /** 配送方式 */
  delivery_type?: string;
  /** 支付总金额 */
  total_amount?: string;
  /** 运费 */
  shipping_fee?: string;
  /**
   * 订单状态
   */
  status?: number;
  /**
   * 支付方式
   */
  pay_type?: number;
  /**
   * 订单来源
   */
  order_source?: number;

  /** 收货信息 */
  consignee?: string;
  phone?: string;
  address?: string;
  remark?: string;

  /** 商品信息 */
  goods_name?: string;
  goods_logo?: string;
  goods_price?: string;

  /** 快递单号 */
  wuliu_number?: string;
}

export interface OrderForm {
  /** ID */
  id?: string;
  /** 订单号 */
  order_no?: string;
  /** 收货信息 */
  consignee?: string;
  /** 收货人电话 */
  phone?: string;
  /** 收货人地址 */
  address?: string;
  /** 备注 */
  remark?: string;
  /** 快递单号 */
  expressNo?: string;
}
